import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Clase a partir de la cual se crean los objetos Focas
 * 
 * @author Omar Espino
 * @version 20/11/2014
 */
public class Foca extends Enemigo
{
    private GreenfootImage []focaDerecha;
    private GreenfootImage []focaIzquierda;
    private SimpleTimer reloj1;
    private int numImagen;
    private final int IZQUIERDA=0;
    private final int DERECHA=1;

    /**constructor de la clase */
    /**@param recibe un entero int que sera la direccion en la cual comenzara viendo la foca al crearse*/
    public Foca(int unaDireccion)
    {
        focaDerecha=new GreenfootImage[2];
        focaIzquierda=new GreenfootImage[2];

        GreenfootImage focaDer1=new GreenfootImage("foca1derecha.png");
        GreenfootImage focaDer2=new GreenfootImage("foca2derecha.png");

        GreenfootImage focaIzq1=new GreenfootImage("foca1izquierda.png");
        GreenfootImage focaIzq2=new GreenfootImage("foca2izquierda.png");

        focaDerecha[0]=focaDer1;
        focaDerecha[1]=focaDer2;

        focaIzquierda[0]=focaIzq1;
        focaIzquierda[1]=focaIzq2;
        numImagen=0;
        this.setDireccion(unaDireccion);
        this.setVelocidad(8);
        reloj1=new SimpleTimer();
        reloj1.mark();
    }

    /**metodo principal de como actuaran las focas creadas en el juego*/
    public void act() 
    {
        if(getDireccion()==IZQUIERDA)
        {
            if(reloj1.millisElapsed()>150)
            {
                setImage(focaDerecha[numImagen]) ;  
                setLocation(getX()+getVelocidad(),getY());
                reloj1.mark();

                if(numImagen<1)
                {
                    numImagen++;  
                }
                else
                {
                    numImagen=0;
                }

                if(isTouching(Baseder.class))
                {
                    setDireccion(DERECHA);
                }
            }

        }

        if(getDireccion()==DERECHA)
        {
            if(reloj1.millisElapsed()>150)
            {
                setImage(focaIzquierda[numImagen]) ;  
                setLocation(getX()-getVelocidad(),getY());
                reloj1.mark();
                if(numImagen<1)
                {
                    numImagen++;  
                }
                else
                {
                    numImagen=0;
                }

                if(isTouching(Baseizq.class))
                {
                    setDireccion(IZQUIERDA);
                }
            }
        }

    }    
    
}
